// Copyright: personal possession of Nguyen Minh Kha
// Datetime: 12:10PM 10/28/2011
// Discription: Object represent for static sprite - the sprite that
//  have only one texture.
// Licencse: Free source
// Version: 1.0
// Writer: Nguyen Minh Kha

/* Google opensource coding standard with variable name exception */

#ifndef GAMEFRAMEWORK_STATIC_SPRITE_H_
#define GAMEFRAMEWORK_STATIC_SPRITE_H_

#include <d3dx9.h>

#include "textures_manager.h"

class StaticSprite
{
public:
  StaticSprite(void);
  StaticSprite(int textureId);
  ~StaticSprite(void);

public:
  void Draw(RECT *rect, D3DXVECTOR3 *vectorPosition);
  void Scale(float vaule);
  virtual void SetTexture(int textureId);
  void Release(void);
  
protected:
  // sprite
  LPD3DXSPRITE spriteHandler;
private:
  // The only texture in sprite
  TexturesManager::TextureNode* textureNode;

};

#endif // GAMEFRAMEWORK_STATIC_SPRITE_H_

